"""
SaaS工具类使用示例
演示如何使用Python版本的SaaS工具类
"""
from model import HisDrugInfo
from util.saas_util import SaasUtil

# 共享的 SaaS 工具实例（全局复用）
saas_util = SaasUtil()

def main():
    """主函数，演示SaaS工具类的基本用法"""
    # 1. 获取访问令牌
    # 注意：请从安全的地方（如配置文件或环境变量）加载真实的用户名和密码
    token = saas_util.get_access_token("aqshJk001", "aqshJk001%rs7")

    if token:
        # 2. 准备上传的药品数据
        request_data = {
            "dataList": []
        }
        
        # 创建一个药品信息实例
        # 实际使用中，这些数据应该来自数据库或其他数据源
        his_drug_info = HisDrugInfo(
            hisDrugId="0001",
            hisDrugName="示例药品",
            hisDrugSpec="100mg/片"
            # 根据需要填充其他字段...
        )
        
        # 将模型转换为字典并添加到列表中
        request_data["dataList"].append(his_drug_info.model_dump(by_alias=True, exclude_none=True))
        
        # 3. 调用上传接口
        print("正在上传药品数据...")
        response_data = saas_util.upload_his_drug_info(token, request_data)
        
        # 4. 打印响应结果
        if response_data:
            print("上传成功！响应：")
            print(response_data)
        else:
            print("上传失败。")
    else:
        print("获取访问令牌失败。")

if __name__ == "__main__":
    main()
